﻿namespace ScrumFactory.Data
{
    using System.Collections.Generic;

    public interface IProjectRepository
    {
        ICollection<Project> GetAllProjects();

        ICollection<Project> GetRunningProjects();

        Project GetProject(string projectUId);

        void InsertProject(Project project);

        void UpdateProject(Project project);

        ICollection<Role> GetProjectRoles(string projectUId);

        Role GetProjectRole(string projectUId);

        bool CanDeleteProjectRole(string roleUId);

        void DeleteProjectRole(string roleUId);

        void SaveProjectRole(Role role);

        ICollection<Sprint> GetSprints(string projectId);

        Sprint GetSprint(string sprintUId);

        void SaveSprint(Sprint sprint);

    }
}
